home *** CD-ROM | disk | FTP | other *** search
- We are having problems with our Qvtnet and/or Trumpet winsock.dll. We have had relatively little trouble with it until
- we upgraded Qvtnet to version 3.97. At that point we started seeing strange problems:
-
- 1: inability to ftp out without first updating the username field. (Note: the contents of that field before,
- and after the change were "anonymous"
-
- 2: upon logging in (FTP) several copies of the opening messages are displayed, and upon logging out we get
- several copies of the "connection lost" dialog box.
-
- 3: sometimes when using the autologin the process stalls waiting for the USER command. We are unable to enter
- it by hand until we do a status check. At this point logging in by hand procedes normally.
-
- 4: autologin no longer works for MAIL.
-
- All of this was weird, but it got weirder. Assuming that 3.97 was just buggy, I reinstalled 3.96. The problems remained.
- I reinstalled twsk10a. The problems remained. I am sure that I am missing something, but I don't know where it is.
-
- Anyone have any ideas?
-
- Thanks
-
- Dennis Sutherland
- dsutherl@mcs.kent.edu
- Kent State University
- Computer Equipment Services
- From MarkW@ms70.nuwes.sea06.navy.mil Tue Mar 15 04:18:00 1994
- Received: from m65sun.nuwes.sea06.navy.mil by SunSITE.Unc.EDU (5.65c+IDA/FvK-1.07) with SMTP
- id AA28123; Tue, 15 Mar 1994 15:27:41 -0500
- Received: from ms70.nuwes.sea06.navy.mil ([140.178.70.3]) by m65sun.nuwes.sea06.navy.mil with SMTP id AA29442
- (5.65c/IDA-1.4.4 for winsock@sunsite.unc.edu); Tue, 15 Mar 1994 09:32:47 -0800
- Received: by ms70.nuwes.sea06.navy.mil with Microsoft Mail
- id <2D861A1F@ms70.nuwes.sea06.navy.mil>; Tue, 15 Mar 94 12:27:11 PST
- From: West Mark 5741 <MarkW@ms70.nuwes.sea06.navy.mil>
- To: 'winsock' <winsock@sunsite.unc.edu>
- Subject: FW: How to complie?
- Date: Tue, 15 Mar 94 12:18:00 PST
- Message-Id: <2D861A1F@ms70.nuwes.sea06.navy.mil>
- Encoding: 90 TEXT
- X-Mailer: Microsoft Mail V3.0
-
-
-
- ----------
- From: West Mark 5741
- To: Winsock News
- Subject: RE: How to complie?
- Date: Friday, March 11, 1994 7:03AM
-
- The C++ mangles function names in order to provide function overloading,
- mangling is a process whereby codes representing function arguments are
- appended to the function name itself. These mangled names are then the names
- of entry points, and also the names of external points the linker expects to
- find.
-
- If you are linking C++ source to C libraries then you must predeclare
- those functions as 'extern "C"', look it up, this prevents mangling. The
- winsock header has a conditional compiler directive that does this for you.
- If you '#define _cplusplus' before '#include <winsock.h>' the winsock
- functions should be wrapped in "C", (i.e the linker should work), this
- should work, but it did'nt work for me, I found a more exotic but more
- usefull method that links at runtime.
-
- If you are linking C source to C libraries you need to properly set the
- following linking options in BC++, 'case sensitive linking', 'case sensitive
- externals', and the compiler option 'generates underscores', however I have
- found that some libraries (especially BC++ libraries) require settings
- contrary to what other libraries (especially winsock) expect and you may
- need to resort to a more exotic method.
-
- Here is my method (in C++), it resovles points of entry at run time.
-
- /* define a function pointer for each function in winsock.h */
-
- SOCKET PASCAL FAR (FAR *lpfnSocket) (int af, int type, int protocol);
-
- /* find and dereference the winsock Dll */
-
- HINSTANCE WinsockInstance = LoadLibrary((LPCSTR)"winsock.dll");
-
- if (WinsockInstance < HINSTANCE_ERROR)
- {
- OutputDebugString("\n\r winsock.dll HINSTANCE_ERROR" );
- return(-1);
- }
-
- /* for each function, get the entry point */
-
- (FARPROC)lpfnSocket = GetProcAddress( WinsockInstance(LPCSTR)"socket"
- );
-
- if( lpfnSocket == NULL )
- {
- OutputDebugString("\n\r socket GetProcAddress ERROR" );
- return(-1);
- }
-
- /* now use the function pointer like this */
-
- sock = (*lpfnSocket)( AF_INET, SOCK_STREAM, 0 );
-
- if( sock == INVALID_SOCKET )
- {
- OutputDebugString("\n\r *** Socket not created");
- return;
- }
- else
- {
- wsprintf( buffer, "\n\r socket %i created", (int)sock );
- OutputDebugString( buffer );
- }
-
- If you need more info, post here or write : markw@ms70.nuwes.sea06.navy.mil
- Hope this helps.
-
- -Mark West
-
-
- ----------
- From: winsock
- To: Multiple recipients of list
- Subject: How to complie?
- Date: Thursday, March 10, 1994 4:59AM
-
- I get a program named ws_ftp. Their are winsock.lib whose length is 1024.
- I load ws_ping.prj in Borlnd C++ 4.0. Compling is sucessful. But linking
- failed. Why? How to link winsock.lib or winsock.dll? It shows socket,sento,
- ,etc are undefined symbol.
-
- Thanks.
-
-